package com.example.controller;

import com.example.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 管理员控制层
 * 处理管理员相关的页面跳转和数据展示
 * 基础路径：/admin
 */
@Controller
@RequestMapping("/admin")
public class AdminController {

    @Autowired
    private AdminService adminService; // 注入管理员服务

    /**
     * 管理员首页
     * 展示系统关键数据统计信息
     * @param model 用于向视图传递数据的模型对象
     * @return 返回管理员首页视图路径
     */
    @GetMapping("/home")
    public String adminHome(Model model) {
        // 获取各模块数据统计
        int usersCount = adminService.getUsersCount();          // 用户总数
        int volunteersCount = adminService.getVolunteersCount(); // 志愿者总数
        int organizationsCount = adminService.getOrganizationsCount(); // 组织总数
        int pendingReviewsCount = adminService.getPendingReviewsCount(); // 待审核数

        // 将统计数据添加到模型
        model.addAttribute("usersCount", usersCount);
        model.addAttribute("volunteersCount", volunteersCount);
        model.addAttribute("organizationsCount", organizationsCount);
        model.addAttribute("pendingReviewsCount", pendingReviewsCount);

        // 返回Thymeleaf模板路径
        return "admin/home";
    }

    /**
     * 信息管理页面跳转
     * 重定向到用户列表页面
     * @return 重定向到用户列表路径
     */
    @GetMapping("/infoManagement")
    public String infoManagement() {
        // 重定向到用户列表页面
        return "redirect:/users/list";
    }
}